﻿//using System;
//using System.Collections.Generic;
//using System.ComponentModel;
//using System.Linq;
//using System.Text;
//using System.Threading.Tasks;

//namespace Nb.Common.Attributes
//{
//    [AttributeUsage(AttributeTargets.Method, AllowMultiple = true, Inherited = true)]
//    public class NbWidgetAttribute : Attribute
//    {
//        public string Pk { get; set; }
//        public string Name { get; set; }
//        public string Position { get; set; }
//        public string Module { get; set; }
//        public double SortNum { get; set; }
//        public string ForRoles { get; set; }
//        public string PartialViewName { get; set; }
//        public bool Show { get; set; }
//        public NbWidgetMetaType LayoutType { get; set; }
//    }
//    public enum NbWidgetMetaType
//    {
//        [Description("根站")]
//        Root = 0,
//        [Description("中间站")]
//        Middle = 1,
//        [Description("子站")]
//        Simple = 2
//    }

//    [AttributeUsage(AttributeTargets.Method, AllowMultiple = true, Inherited = true)]
//    public class UiButtonAttribute : Attribute
//    {
//        public UiButtonAttribute(string pk, string forUserTypes, string forRoles, string text)
//        {
//            Pk = pk;
//            ForUserTypes = forUserTypes;
//            ForRoles = forRoles;
//            Text = text;
//        }

//        public string Pk { get; set; }
//        /// <summary>
//        /// 定制的菜单为哪些用户类型可见
//        /// "*"或者""，都可见
//        /// "Teacher,Student,..."指定特定类型的用户可见
//        /// </summary>
//        public string ForUserTypes { get; set; }
//        /// <summary>
//        /// 定制的菜单为哪些用户类型可见
//        /// "*"或者""，都可见
//        /// "Member,Admin,..."指定特定类型的用户可见
//        /// </summary>
//        public string ForRoles { get; set; }
//        public string Text { get; set; }

//    }

//    [AttributeUsage(AttributeTargets.Method, AllowMultiple = true, Inherited = true)]
//    public class MenuAttribute : Attribute
//    {
//        public MenuAttribute()
//        {

//        }

//        /// <summary>
//        /// 
//        /// </summary>
//        /// <param name="position"></param>
//        /// <param name="fromModule"></param>
//        /// <param name="parentPk"></param>
//        /// <param name="pk"></param>
//        /// <param name="text"></param>
//        /// <param name="href"></param>
//        /// <param name="cssClass"></param>
//        /// <param name="sortNum"></param>
//        /// <param name="onlyBreadcrumb"></param>
//        /// <param name="forUserTypes"></param>
//        public MenuAttribute(string position, string fromModule, string parentPk, string pk, string text, string href, string cssClass, double sortNum, bool onlyBreadcrumb = false, string forUserTypes = "*")
//        {
//            Text = text;
//            Class = cssClass;
//            Href = href;
//            Module = fromModule;
//            Position = position;
//            SortNum = sortNum;
//            Pk = pk;
//            ParentPk = parentPk;
//            OnlyBreadcrumbs = onlyBreadcrumb;
//            //ForUserTypes = forUserTypes;
//        }

//        /// <summary>
//        /// 来自的模块
//        /// </summary>
//        public string Module { get; set; }
//        /// <summary>
//        /// 显示位置
//        /// </summary>
//        public string Position { get; set; }

//        //HrefSchema
//        public string Href { get; set; }
//        public double SortNum { get; set; }
//        public string Text { get; set; }
//        public string Class { get; set; }
//        public string Pk { get; set; }
//        public string ParentPk { get; set; }

//        /// <summary>
//        /// 只是在面包屑展示，菜单不展示（某些子级功能页面，比如编辑页等）
//        /// 默认false
//        /// </summary>
//        public bool OnlyBreadcrumbs { get; set; }

//        ///// <summary>
//        ///// 定制的菜单为哪些用户类型可见
//        ///// "*"或者""，都可见
//        ///// "Teacher,Student,..."指定特定类型的用户可见
//        ///// </summary>
//        //public string ForUserTypes { get; set; }

//        public static bool ValidateMenuTree(string position, IList<MenuAttribute> menuList)
//        {
//            return true;
//        }

//    }

//    [AttributeUsage(AttributeTargets.Method, AllowMultiple = true, Inherited = true)]
//    public class OpAttribute : Attribute
//    {
//        /// <summary>
//        /// 来自的模块
//        /// </summary>
//        public string Module { get; set; }
//        /// <summary>
//        /// 分类
//        /// </summary>
//        public string Category { get; set; }

//        /// <summary>
//        /// 权限地址
//        /// </summary>
//        public string Href { get; set; }
//        /// <summary>
//        /// 权限名称
//        /// </summary>
//        public string Text { get; set; }
//        /// <summary>
//        /// 显示排序
//        /// </summary>
//        public double SortNum { get; set; }
//        public string ArgsName { get; set; }
//        public string DefaultRoles { get; set; } //*,admin,member
//        public bool CanEditDefaultRoles { get; set; } //是否可以编辑

//        public double OpType { get; set; } //权限类型 1是应用 2是管理
//        public string MenuPks { get; set; } //menuPk1,menuPk2
//    }
    
//}
